<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <link rel="stylesheet" href="./lib/bootstrap.css" />
  <script src="./lib/jquery.js"></script>
</head>

<body style="padding: 15px;">
  <!-- 添加图书的Panel面板 -->
  <div class="panel panel-primary">
    <div class="panel-heading">
      <h3 class="panel-title">添加新图书</h3>
    </div>
    <div class="panel-body form-inline">

      <div class="input-group">
        <div class="input-group-addon">书名</div>
        <input type="text" class="form-control" id="iptBookname" placeholder="请输入书名">
      </div>

      <div class="input-group">
        <div class="input-group-addon">作者</div>
        <input type="text" class="form-control" id="iptAuthor" placeholder="请输入作者">
      </div>

      <div class="input-group">
        <div class="input-group-addon">出版社</div>
        <input type="text" class="form-control" id="iptPublisher" placeholder="请输入出版社">
      </div>

      <button id="btnAdd" class="btn btn-primary">添加</button>

    </div>
  </div>


  <!-- 图书的表格 -->
  <table class="table table-bordered table-hover">
    <thead>
      <tr>
        <th>Id</th>
        <th>书名</th>
        <th>作者</th>
        <th>出版社</th>
        <th>操作</th>
      </tr>
    </thead>
    <tbody id="tb"></tbody>
  </table>

  <script>
    // $(function () {
    //   // 获取图书列表数据
    //   function getBookList() {
    //     $.get('http://www.liulongbin.top:3006/api/getbooks', function (res) {
    //       if (res.status !== 200) return alert('获取数据失败！')

    //       var rows = []
    //       $.each(res.data, function (i, item) {
    //         rows.push('<tr><td>' + item.id + '</td><td>' + item.bookname + '</td><td>' + item.author + '</td><td>' + item.publisher + '</td><td><a href="javascript:;" class="del" data-id="' + item.id + '">删除</a></td></tr>')
    //       })
    //       $('#tb').empty().append(rows.join(''))
    //     })
    //   }

    //   getBookList()

    //   /* $('.del').on('click', function () {
    //     console.log('ok')
    //   }) */

    //   // 通过代理的方式为动态添加的元素绑定点击事件
    //   $('tbody').on('click', '.del', function () {
    //     var id = $(this).attr('data-id')
    //     $.get('http://www.liulongbin.top:3006/api/delbook', { id: id }, function (res) {
    //       if (res.status !== 200) return alert('删除图书失败！')
    //       getBookList()
    //     })
    //   })

    //   $('#btnAdd').on('click', function () {
    //     var bookname = $('#iptBookname').val().trim()
    //     var author = $('#iptAuthor').val().trim()
    //     var publisher = $('#iptPublisher').val().trim()
    //     if (bookname.length <= 0 || author.length <= 0 || publisher.length <= 0) {
    //       return alert('请填写完整的图书信息！')
    //     }

    //     $.post('http://www.liulongbin.top:3006/api/addbook', { bookname: bookname, author: author, publisher: publisher }, function (res) {
    //       if (res.status !== 201) return alert('添加图书失败！')
    //       getBookList()
    //       $('#iptBookname').val('')
    //       $('#iptAuthor').val('')
    //       $('#iptPublisher').val('')
    //     })
    //   })
    // })

    // $(function () {
    //   // 渲染数据
    //   function render() {
    //     // 获取图书
    //     $.ajax({
    //       method: 'GET',
    //       url: 'http://www.liulongbin.top:3006/api/getbooks',
    //       success({ status, data, msg }) {
    //         if (status !== 200) return alert(msg)
            

    //         const htmlStr = data.map(({ id, bookname, author, publisher }) =>
    //           `
    //           <tr>
    //             <td>${id}</td>
    //             <td>${bookname}</td>
    //             <td>${author}</td>
    //             <td>${publisher}</td>
    //             <td><a href="javascript:;" class="del" data-id="${id}">删除</a></td>
    //           </tr>
    //         `
    //         ).join('')
    //         // 给tbody设置内容
    //         $('#tb').html(htmlStr)
    //       }
    //     })
    //   }
    //   render()

    //   // 删除功能
    //   // 由于删除按钮是动态生成的，所以需要注册事件委托来完成功能
    //   $('tbody').on('click' , '.del' ,function() {
    //     const id = $(this).attr('data-id')

    //     $.ajax({
    //       // method: 'GET',
    //       // url: 'http://www.liulongbin.top:3006/api/delbook',
    //       // data: {id},


    //       // 对于delete请求数据方式，data中的数据并不会发送给服务器，手动带上（有格式要求）
    //       method: 'delete',
    //       url: `http://www.liulongbin.top:3006/api/delbook?id=${id}`,
    //       success({status, msg}) {
    //         if(status !== 200) return alert(msg)

    //         render()
    //       }
    //     })
    //   })

    //   // 添加功能
    //   $('#btnAdd').on('click' , function() {
    //     // 获取输入框的数据
    //     const bookname = $("#iptBookname").val().trim()
    //     const author = $("#iptAuthor").val().trim()
    //     const publisher = $("#iptPublisher").val().trim()

    //     if(bookname === '' || author === '' || publisher === '') alert('请输入正确的图书名')

    //     $.ajax({
    //       method: 'POST',
    //       url: 'http://www.liulongbin.top:3006/api/addbook',
    //       data: {
    //         // 属性名和属性值相同可以简写
    //         bookname,
    //         author,
    //         publisher
    //       },
    //       success({status, msg}) {
    //         if(status !== 201) return alert(msg)
            
    //         render()

    //         $("#iptBookname").val('')
    //         $("#iptAuthor").val('')
    //         $("#iptPublisher").val('')
    //       }
    //     })
    //   })

    // })

    $(function() {
      // 获取图书
      function render() {
        $.ajax({
          method: 'GET',
          url: 'http://www.liulongbin.top:3006/api/getbooks',
          success({data, status, msg}) {
            if(status !== 200) return alert(msg)
            const htmlStr = data.map(({id, bookname, author, publisher}) => `
                <tr>
                   <td>${id}</td>
                   <td>${bookname}</td>
                   <td>${author}</td>
                   <td>${publisher}</td>
                   <td><a href="javascript:;" class="del" data-id="${id}">删除</a></td>
                </tr>
            `).join('')
  
            $('#tb').html(htmlStr)
          }
        })
        
      }
      render()
      // 删除功能
      $('#tb').on('click' , 'a' , function() {
        // 读取自定义属性
        const id = $(this).attr('data-id')

        $.ajax({
          method: 'delete',
          url: `http://www.liulongbin.top:3006/api/delbook?id=${id}`,
          success({status, msg}) {
            if(status !== 200) return alert(msg)
            render()
          }
        })
      })


      // 添加图书
      $('#btnAdd').on('click' , function() {
        const bookname = $('#iptBookname').val().trim()
        const author = $('#iptAuthor').val().trim()
        const publisher = $('#iptPublisher').val().trim()
        $.ajax({
          method: 'POST',
          url: 'http://www.liulongbin.top:3006/api/addbook',
          data: {
            bookname,
            author,
            publisher
          },
          success({status, msg}) {
            if(status !== 201) return alert(msg)
            render()

            $('#iptBookname').val('')
            $('#iptAuthor').val('')
            $('#iptPublisher').val('')
          }
        })
      })

    })
  </script>

</body>

</html>